package be.ipl.finito.daoimpl;

import java.util.Calendar;
import java.util.Collection;
import java.util.List;
import java.util.Set;

import javax.ejb.Stateless;

import be.ipl.finito.dao.PartieDao;
import be.ipl.finito.domaine.Partie;
import be.ipl.finito.domaine.Partie.Etat;
import be.ipl.finito.domaine.Plateau;

@SuppressWarnings("serial")
@Stateless
public class PartieDaoImpl extends DaoImpl<Integer, Partie> implements
		PartieDao {

	@Override
	public Partie chargerPlateaux(Partie partie) {
		partie = rechercher(partie.getId());
		partie.getPlateaux().size();
		
		return partie;

	}
	
	@Override
	public Partie chargerTout(Partie partie){
		partie = rechercher(partie.getId());
		partie.getPlateaux().size();
		Collection<Plateau> plateaux = partie.getPlateaux();
		for (Plateau plateau : plateaux) {
			plateau.getCases().size();
		}
		partie.getJetons().size();
		
		return partie;
	}

	
	/*@Override
	public List<Partie> getPartieEnAttente() {
		String queryString = " select p from Partie p where p.etat ='"+Partie.Etat.EN_ATTENTE+"' ";
		return liste(queryString);

	}*/

	
	@Override
	public Partie chargerJetons(Partie partie) {
		partie = rechercher(partie.getId());
		partie.getJetons().size();
		return partie;
	}

	@Override
	public List<Partie> rechercherPartieParDateDebut(Calendar date) {
		String queryString = " select p from Partie p where p.dateDebut = ?1 ";
		return liste(queryString, date);
	}

}
